Слово называется анаграммой другого слова, если оно может
быть получено перестановкой его букв.
Вход. Два слова заданы в отдельных строках.
Слова состоят из строчных латинских букв и цифр. Длины слов не превышают 100.
Выход. Выведите
“YES”, если слова
являются анаграммами друг друга и “NO” в
противоположном случае.
Пример входа |
Пример выхода |
sharm
marsh |
YES |
сортировка
Отсортируем
буквы в каждом слове в лексикографическом порядке. Если полученные слова совпадают,
то они состоят из одних и тех же букв и таким образом являются анаграммами.
Объявим рабочие
строки s и q.
string s, q;
Читаем входные строки.
cin >> s;
cin >> q;
Сортируем буквы в каждой строке.
sort(s.begin(),s.end());
sort(q.begin(),q.end());
Сравниваем полученные строки и выводим ответ.
if
(s == q) puts("YES"); else puts("NO");
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace
std;
char s[100], q[100];
int main(void)
{
gets(s); sort(s,s+strlen(s));
gets(q); sort(q,q+strlen(q));
if
(strcmp(s,q) == 0) puts("YES"); else puts("NO");
return 0;
}
#include <stdio.h>
#include <string.h>
#define MAX 256
char
s[MAX], q[MAX];
int
slen, qlen;
void
sort(char *m, int
len)
{
int i, j;
char temp;
for(i = 0; i
< len; i++)
for(j = i +
1; j < len; j++)
if (m[i]
> m[j])
{
temp = m[i];
m[i] = m[j];
m[j] = temp;
}
}
int
main(void)
{
gets(s); slen = strlen(s);
gets(q); qlen = strlen(q);
sort(s,slen);
sort(q,qlen);
if
(!strcmp(s,q))
printf("YES\n");
else
printf("NO\n");
return 0;
}
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
char[] s = con.nextLine().toCharArray();
char[] q = con.nextLine().toCharArray();
Arrays.sort(s);
Arrays.sort(q);
if (Arrays.equals(s, q))
System.out.println("YES");
else
System.out.println("NO");
con.close();
}
}
l1 = list(input())
l2 = list(input())
l1.sort()
l2.sort()
if l1 == l2:
print('YES')
else:
print('NO')